Fix GTK_OVERLAY_SCROLLING=0
authorMatthias Clasen <mclasen@redhat.com>
Fri, 9 Jan 2015 11:45:51 +0000 (06:45 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 9 Jan 2015 11:45:51 +0000 (06:45 -0500)
This was broken by the recent more dynamic approach.

gtk/gtkscrolledwindow.c

index 1cbd922980e22991063fe66f9f7b865efc5bdbcc..77b4b71bf8cc95c734ebf19ca7ad1e22b4b1c529 100644 (file)
@@ -391,10 +391,16 @@ gtk_scrolled_window_leave_notify (GtkWidget *widget,
 {
   GtkScrolledWindowPrivate *priv = GTK_SCROLLED_WINDOW (widget)->priv;
 
-  indicator_set_over (&priv->hindicator, FALSE);
-  indicator_start_fade (&priv->hindicator, 0.0);
-  indicator_set_over (&priv->vindicator, FALSE);
-  indicator_start_fade (&priv->vindicator, 0.0);
+  if (priv->hindicator.enabled)
+    {
+      indicator_set_over (&priv->hindicator, FALSE);
+      indicator_start_fade (&priv->hindicator, 0.0);
+    }
+  if (priv->vindicator.enabled)
+    {
+      indicator_set_over (&priv->vindicator, FALSE);
+      indicator_start_fade (&priv->vindicator, 0.0);
+    }
 
   return GDK_EVENT_PROPAGATE;
 }
@@ -1040,12 +1046,17 @@ captured_event_cb (GtkWidget *widget,
   GdkDevice *source_device;
   gboolean indicator_close;
 
+  sw = GTK_SCROLLED_WINDOW (widget);
+  priv = sw->priv;
+
+  if (!priv->hindicator.enabled &&
+      !priv->vindicator.enabled)
+    return GDK_EVENT_PROPAGATE;
+
   if (event->type != GDK_MOTION_NOTIFY &&
       event->type != GDK_LEAVE_NOTIFY)
     return GDK_EVENT_PROPAGATE;
 
-  sw = GTK_SCROLLED_WINDOW (widget);
-  priv = sw->priv;
   source_device = gdk_event_get_source_device (event);
   input_source = gdk_device_get_source (source_device);